home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / shuttle.arc / SHUTTLE3.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1985-03-24  |  4.0 KB  |  121 lines

  1. 10  KEY OFF
  2. 20  X=0:Y=0:Z=0:X3=0:Y3=0:Z3=0:AM=0:BM=0:CM=0:DM=0:EM=0:FM=0:GM=0:HM=0:IM=0:D=0:P=0:B=0:H=0:U=0:V=0:U1=0:V1=0
  3. 30  DIM V(300,3),E(300)
  4. 40  CLS
  5. 50  READ NV
  6. 60  FOR P=1 TO NV
  7. 70  READ V(P,1),V(P,2),V(P,3)
  8. 80  V(P,1) = 0.12 * V(P,1)
  9. 90  V(P,2) = 0.12 * V(P,2)
  10. 100  V(P,3) = 0.12 * V(P,3)
  11. 110  NEXT P
  12. 120  READ NE
  13. 130  FOR E=1 TO NE
  14. 140  READ E(E)
  15. 150  NEXT E
  16. 160  SCREEN 2
  17. 170  D=120
  18. 180  LOCATE 1,1
  19. 190  FOR AL= 1 TO 75:PSET (CINT(RND*640),CINT(RND*200)),1:NEXT
  20. 195  INPUT"INPUT  ANY 3 ANGLES (X,Y,Z)"; P0,P1,P2
  21. 210  CLS:PAINT (0,0),1
  22. 220  P=6.28 * P0 / 360 - 3.1416
  23. 230  B=6.28 * P2 / 360
  24. 240  H=6.28 * P1 / 360
  25. 250  GOSUB 390
  26. 260  XV = -D * CP * SH: REM ---SEE SUB.---
  27. 270  YV = -D * CP * CH
  28. 280  ZV = -D * SP
  29. 290  REM ---PROJECT NE POINTS---
  30. 300  FOR E=1 TO NE
  31. 310  X = V( ABS ( E ( E ) ), 1 )
  32. 320  Y = V( ABS ( E ( E ) ), 2 )
  33. 330  Z = V( ABS ( E ( E ) ), 3 )
  34. 340  GOSUB 520
  35. 350  IF E(E)>0 THEN LINE (U1*2+75,V1+20)-(U*2+75,V+20),0
  36. 360  U1 = U: V1 = V
  37. 370  NEXT E
  38. 371  PI=3.14159
  39. 372  CIRCLE (320,300),600,0,,,0.22
  40. 373  CIRCLE (160,190),5,0,,,0.1
  41. 374  CIRCLE (200,190),9,0,,,0.1
  42. 375  CIRCLE (400,190),12,0,,,0.09
  43. 376  CIRCLE (310,195),9,0,,,0.1
  44. 377  CIRCLE (330,185),7,0,,,0.1
  45. 380  PAINT (0,0),0,0:GOTO 190
  46. 390  CH = COS (H): SH = SIN (H)
  47. 400  CP = COS (P): SP = SIN (P)
  48. 410  CB = COS (B): SB = SIN (B)
  49. 420  AM = CB * CH - SH * SP * SB
  50. 430  BM = -CB * SH - SP * CH * SB
  51. 440  CM = CP * SB
  52. 450  DM = SH * CP
  53. 460  EM = CP * CH
  54. 470  FM = SP
  55. 480  GM = -CH * SB - SH * SP * CB
  56. 490  HM = SH * SB - SP * CH * CB
  57. 500  IM = CP * CB
  58. 510  RETURN
  59. 520  X = X - XV
  60. 530  Y = Y - YV
  61. 540  Z = Z - ZV
  62. 550  X3 = AM * X + BM * Y + CM * Z
  63. 560  Y3 = DM * X + EM * Y + FM * Z
  64. 570  Z3 = GM * X + HM * Y + IM * Z
  65. 580  U = 135 + 13.5 * D * X3 / Y3
  66. 590  V = 80 - 11.5 * D * Z3 / Y3
  67. 600  RETURN
  68. 610  DATA 124
  69. 620  DATA 0,-2.2,46,1.5,-2.6,46,2.2,-4.6,46,1.7,-6.5,46,0,-6.7,46
  70. 630  DATA -1.7,-6.5,46,-2.2,-4.6,46,-1.5,-2.6,46
  71. 640  DATA 0,-.8,43,2.8,-1.5,43,4,-4.5,43,3,-7.2,43,0,-8,43,-3,-7.2,43
  72. 650  DATA -4,-4.5,43,-2.8,-1.5,43
  73. 660  DATA 0,1.7,38,4.6,0,38,5.8,-4.4,38,4,-8.2,38,0,-9,38,-4,-8.2,38
  74. 670  DATA -5.8,-4.4,38,-4.6,0,38
  75. 680  DATA 0,4,32.5,4.5,1,32.5,5.8,-4.6,32.5,4,-9,32.5,0,-9.5,32.5,-4,-9,32.5
  76. 690  DATA -5.8,-4.6,32.5,-4.5,1,32.5
  77. 700  DATA 0,8,26.3,3.5,7,26.3,7.8,2,26.3,8,-7,26.3,0,-9.8,26.3,-8,-7,26.3
  78. 710  DATA -7.8,2,26.3,-3.5,7,26.3
  79. 720  DATA 0,8,21.5,3.8,7.5,21.5,8,3,21.5,8,-8,21.5,0,-9.8,21.5,-8,-8,21.5
  80. 730  DATA -8,3,21.5,-3.8,7.5,21.5
  81. 740  DATA 0,8,14,4.7,7,14,8,4,14,8,-8.7,14,0,-10,14,-8,-8.7,14,-8,4,14
  82. 750  DATA -4.7,7,14
  83. 760  DATA 0,8,4,4.7,7,4,8,4,4,8,-8.7,4,0,-10,4,-8,-8.7,4,-8,4,4
  84. 770  DATA -4.7,7,4
  85. 780  DATA 0,8,-12,4.7,7,-12,8,4,-12,8,-8.7,-12,0,-10,-12,-8,-8.7,-12,-8,4,-12
  86. 790  DATA -4.7,7,-12
  87. 800  DATA 0,8,-27.3,4.7,7,-27.3,8,4,-27.3,8,-8.7,-27.3,0,-10,-27.3,-8,-8.7,-27.3
  88. 810  DATA -8,4,-27.3,-4.7,7,-27.3
  89. 820  DATA 0,8,-35.6,4.7,7,-35.6,8,4,-35.6,8,-8.7,-35.6,0,-10,-35.6,-8,-8.7,-35.6
  90. 830  DATA -8,4,-35.6,-4.7,7,-35.6
  91. 840  DATA 0,9,-43,2,8.5,-43,8.8,1.5,-43,9,-10,-43,0,-10.8,-43,-9,-10,-43
  92. 850  DATA -8.8,1.5,-43,-2,8.5,-43
  93. 860  DATA 0,9.5,-48,2,9.3,-48,9.2,1.5,-48,10,-10,-48,0,-10.2,-48,-10,-10,-48
  94. 870  DATA -9.2,1.5,-48,-2,9.3,-48
  95. 875  DATA 8.7,-8.7,21,15,-8.7,-16,35,-10,-36,35,-10,-40
  96. 876  DATA -8.7,-8.7,21,-15,-8.7,-16,-35,-10,-36,-35,-10,-40
  97. 877  DATA 0,13,-37,0,33,-60,0,33,-69,0,14,-60
  98. 878  DATA 6,11,-43,6,11,-48,11,5,-43,11,5,-48,-6,11,-43,-6,11,-48,-11,5,-43
  99. 879  DATA -11,5,-48
  100. 880  DATA 259
  101. 890  DATA -1,2,3,4,5,6,7,8,1,-9,10,11,12,13,14,15,16,9,-17,18,19,20,21,22,23,24,17
  102. 900  DATA -25,26,27,28,29,30,31,32,25,-33,34,35,36,37,38,39,40,33
  103. 910  DATA -41,42,43,44,45,46,47,48,41,-49,50,51,52,53,54,55,56,49
  104. 920  DATA -57,58,59,60,61,62,63,64,57,-65,66,67,68,69,70,71,72,65
  105. 930  DATA -73,74,75,76,77,78,79,80,73,-81,82,83,84,85,86,87,88,81
  106. 940  DATA -89,90,91,92,93,94,95,96,89,-97,98,99,100,101,102,103,104,97
  107. 950  DATA -1,9,17,25,33,41,49,57,65,73,81,89,97
  108. 960  DATA -2,10,18,26,34,42,50,58,66,74,82,90,98
  109. 970  DATA -3,11,19,27,35,43,51,59,67,75,83,91,99
  110. 980  DATA -4,12,20,28,36,44,52,60,68,76,84,92,100
  111. 990  DATA -5,13,21,29,37,45,53,61,69,77,85,93,101
  112. 1000  DATA -6,14,22,30,38,46,54,62,70,78,86,94,102
  113. 1010  DATA -7,15,23,31,39,47,55,63,71,79,87,95,103
  114. 1020  DATA -8,16,24,32,40,48,56,64,72,80,88,96,104
  115. 1030  DATA -44,105,106,107,108,92
  116. 1040  DATA -46,109,110,111,112,94
  117. 1050  DATA -81,113,114,115,116,89
  118. 1060  DATA -82,117,118,-83,119,120
  119. 1070  DATA -87,121,122,-88,123,124
  120. 1080  DATA -117,119,-121,123,-118,120,-122,124
  121.